<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>IgH EtherCAT Master: globals.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">IgH EtherCAT Master
   &#160;<span id="projectnumber">1.5.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('globals_8h_source.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">globals.h</div>  </div>
</div><!--header-->
<div class="contents">
<a href="globals_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/******************************************************************************</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *  $Id: globals.h,v d461b1f07296 2012/11/30 19:15:31 fp $</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *  Copyright (C) 2006-2008  Florian Pose, Ingenieurgemeinschaft IgH</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *  This file is part of the IgH EtherCAT Master.</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *  The IgH EtherCAT Master is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *  modify it under the terms of the GNU General Public License version 2, as</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *  published by the Free Software Foundation.</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *  The IgH EtherCAT Master is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *  but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General</span></div><div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *  Public License for more details.</span></div><div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *  You should have received a copy of the GNU General Public License along</span></div><div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *  with the IgH EtherCAT Master; if not, write to the Free Software</span></div><div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA</span></div><div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *  ---</span></div><div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> *  The license mentioned above concerns the source code only. Using the</span></div><div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *  EtherCAT technology and brand is only permitted in compliance with the</span></div><div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> *  industrial property and similar rights of Beckhoff Automation GmbH.</span></div><div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> *****************************************************************************/</span></div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div><div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="preprocessor">#ifndef __EC_MASTER_GLOBALS_H__</span></div><div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="preprocessor">#define __EC_MASTER_GLOBALS_H__</span></div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#include &quot;../globals.h&quot;</span></div><div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#include &quot;../include/ecrt.h&quot;</span></div><div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;</div><div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="comment">/******************************************************************************</span></div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="comment"> * EtherCAT master</span></div><div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="comment"> *****************************************************************************/</span></div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="globals_8h.html#a58d5397d9106471647af3135e26fa09b">   47</a></span>&#160;<span class="preprocessor">#define EC_IO_TIMEOUT 500</span></div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;</div><div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="globals_8h.html#adfd4f1137907ae9ac52dd2cd4524d775">   50</a></span>&#160;<span class="preprocessor">#define EC_SDO_INJECTION_TIMEOUT 10000</span></div><div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="globals_8h.html#a0947a510c37156d1f69ff64903579631">   56</a></span>&#160;<span class="preprocessor">#define EC_BYTE_TRANSMISSION_TIME_NS 80</span></div><div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="globals_8h.html#a23a5e3d7f269f14bea7017438c72d208">   59</a></span>&#160;<span class="preprocessor">#define EC_FSM_RETRIES 3</span></div><div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;</div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="globals_8h.html#a54806e076fcb6f09b945393273530c13">   63</a></span>&#160;<span class="preprocessor">#define EC_WAIT_SDO_DICT 3</span></div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="globals_8h.html#a1de201db5fcf72a3acf152700008e083">   66</a></span>&#160;<span class="preprocessor">#define EC_STATE_STRING_SIZE 32</span></div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="globals_8h.html#a01c6518f4ab51df91aca7b61d56c4035">   69</a></span>&#160;<span class="preprocessor">#define EC_MAX_SII_SIZE 4096</span></div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;</div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="globals_8h.html#a00b477d166c2d09b9fea5d43c0c1cd48">   72</a></span>&#160;<span class="preprocessor">#define EC_RATE_COUNT 3</span></div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;<span class="comment">/******************************************************************************</span></div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;<span class="comment"> * EtherCAT protocol</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;<span class="comment"> *****************************************************************************/</span></div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="globals_8h.html#a5adae0638188319662b058ab045226fa">   79</a></span>&#160;<span class="preprocessor">#define EC_FRAME_HEADER_SIZE 2</span></div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;</div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="globals_8h.html#a6c4982c6eac314abb0768e05774237a8">   82</a></span>&#160;<span class="preprocessor">#define EC_DATAGRAM_HEADER_SIZE 10</span></div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno"><a class="line" href="globals_8h.html#aaec3f4b21567ed1271af111a6b09f43a">   85</a></span>&#160;<span class="preprocessor">#define EC_DATAGRAM_FOOTER_SIZE 2</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="globals_8h.html#a636410fd74a8e87229296654da52d250">   88</a></span>&#160;<span class="preprocessor">#define EC_ADDR_LEN 4</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="globals_8h.html#a1e04c301942ee12b54c2caa25d3caab5">   91</a></span>&#160;<span class="preprocessor">#define EC_MAX_DATA_SIZE (ETH_DATA_LEN - EC_FRAME_HEADER_SIZE \</span></div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;<span class="preprocessor">                          - EC_DATAGRAM_HEADER_SIZE - EC_DATAGRAM_FOOTER_SIZE)</span></div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="globals_8h.html#a189582ffd5ea94b41b00482c04968291">   95</a></span>&#160;<span class="preprocessor">#define EC_MBOX_HEADER_SIZE 6</span></div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="globals_8h.html#a53e014f821fa17635fa4ad260fce2512">   98</a></span>&#160;<span class="preprocessor">#define EC_FIRST_SII_CATEGORY_OFFSET 0x40</span></div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="globals_8h.html#a094d565a4898d8ed65222fcd6f96f6fb">  101</a></span>&#160;<span class="preprocessor">#define EC_SYNC_PAGE_SIZE 8</span></div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00104"></a><span class="lineno"><a class="line" href="globals_8h.html#a7ef0b04594f3ae62859391b9307cbb1f">  104</a></span>&#160;<span class="preprocessor">#define EC_MAX_FMMUS 16</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="globals_8h.html#a1e0360410ca3cc2357e27b566951d52d">  107</a></span>&#160;<span class="preprocessor">#define EC_FMMU_PAGE_SIZE 16</span></div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="globals_8h.html#a5fd0d53ff30f80384b0d7f26a159a79e">  110</a></span>&#160;<span class="preprocessor">#define EC_SYNC_SIGNAL_COUNT 2</span></div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="globals_8h.html#ac67cff75d900b9f1112a4c1a635e495d">  116</a></span>&#160;<span class="preprocessor">#define EC_DATAGRAM_NAME_SIZE 20</span></div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="globals_8h.html#a372d9b2d6575b0a9550533be831424c2">  123</a></span>&#160;<span class="preprocessor">#define EC_SLAVE_STATE_MASK 0x0F</span></div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0">  127</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0ae9edba07c48fe21c2e3ee549f98a0f59">  128</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0ae9edba07c48fe21c2e3ee549f98a0f59">EC_SLAVE_STATE_UNKNOWN</a> = 0x00,</div><div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0af8bd16b734a32ab829a51f81620edfff">  130</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0af8bd16b734a32ab829a51f81620edfff">EC_SLAVE_STATE_INIT</a> = 0x01,</div><div class="line"><a name="l00132"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a1db532f4df475e41ee0613551f7bdc0c">  132</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a1db532f4df475e41ee0613551f7bdc0c">EC_SLAVE_STATE_PREOP</a> = 0x02,</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a071e3e465f3a44800dbca990ce475513">  134</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a071e3e465f3a44800dbca990ce475513">EC_SLAVE_STATE_BOOT</a> = 0x03,</div><div class="line"><a name="l00136"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a42a5127410509dad07baf40ba938ecf4">  136</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a42a5127410509dad07baf40ba938ecf4">EC_SLAVE_STATE_SAFEOP</a> = 0x04,</div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a321dab0f12d522422d158b8cf64351f8">  138</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a321dab0f12d522422d158b8cf64351f8">EC_SLAVE_STATE_OP</a> = 0x08,</div><div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0afa4a479453f36ac36204ece05aeacd82">  140</a></span>&#160;    <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0afa4a479453f36ac36204ece05aeacd82">EC_SLAVE_STATE_ACK_ERR</a> = 0x10</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;} <a class="code" href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0">ec_slave_state_t</a>;</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7af55a73bce8de5380f696812292a1ff1b">  147</a></span>&#160;    <a class="code" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7af55a73bce8de5380f696812292a1ff1b">EC_MBOX_AOE</a> = 0x01, </div><div class="line"><a name="l00148"></a><span class="lineno"><a class="line" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a75ced95568023bf9ad616c8d2b4f3ae2">  148</a></span>&#160;    <a class="code" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a75ced95568023bf9ad616c8d2b4f3ae2">EC_MBOX_EOE</a> = 0x02, </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a228d7270dad743f55f7d42719e406076">  149</a></span>&#160;    <a class="code" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a228d7270dad743f55f7d42719e406076">EC_MBOX_COE</a> = 0x04, </div><div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a02785e699946f757c7846b87a9703d4b">  150</a></span>&#160;    <a class="code" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a02785e699946f757c7846b87a9703d4b">EC_MBOX_FOE</a> = 0x08, </div><div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ab5ebd52d91b7f482bde14f6dcac7c7c4">  151</a></span>&#160;    <a class="code" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ab5ebd52d91b7f482bde14f6dcac7c7c4">EC_MBOX_SOE</a> = 0x10, </div><div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7aa29a7302a657cfa9b046d7f1dd7ceb95">  152</a></span>&#160;    <a class="code" href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7aa29a7302a657cfa9b046d7f1dd7ceb95">EC_MBOX_VOE</a> = 0x20  </div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;};</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00157"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html">  157</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html#a13bf2bdd0c2fa9986d8d176f956f50ca">  158</a></span>&#160;    uint8_t <a class="code" href="structec__sii__coe__details__t.html#a13bf2bdd0c2fa9986d8d176f956f50ca">enable_sdo</a> : 1; </div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html#af90ce21692e401ce0205e4e9f14a9386">  159</a></span>&#160;    uint8_t <a class="code" href="structec__sii__coe__details__t.html#af90ce21692e401ce0205e4e9f14a9386">enable_sdo_info</a> : 1; </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html#a30ce481a3965c5bc1737918e3cbe6d63">  160</a></span>&#160;    uint8_t <a class="code" href="structec__sii__coe__details__t.html#a30ce481a3965c5bc1737918e3cbe6d63">enable_pdo_assign</a> : 1; </div><div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html#acefe917c36bc9c0fc0ff931fcbabc211">  161</a></span>&#160;    uint8_t <a class="code" href="structec__sii__coe__details__t.html#acefe917c36bc9c0fc0ff931fcbabc211">enable_pdo_configuration</a> : 1; </div><div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html#a1bb6f479bf46b3113a181478f8b1fbef">  162</a></span>&#160;    uint8_t <a class="code" href="structec__sii__coe__details__t.html#a1bb6f479bf46b3113a181478f8b1fbef">enable_upload_at_startup</a> : 1; </div><div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="structec__sii__coe__details__t.html#a8b34817a87dbb31e79d076b67ea3d1be">  163</a></span>&#160;    uint8_t <a class="code" href="structec__sii__coe__details__t.html#a8b34817a87dbb31e79d076b67ea3d1be">enable_sdo_complete_access</a> : 1; </div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;} <a class="code" href="structec__sii__coe__details__t.html">ec_sii_coe_details_t</a>;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="structec__sii__general__flags__t.html">  168</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="structec__sii__general__flags__t.html#a06c42cdbd02ae8d4029d72db27a43ade">  169</a></span>&#160;    uint8_t <a class="code" href="structec__sii__general__flags__t.html#a06c42cdbd02ae8d4029d72db27a43ade">enable_safeop</a> : 1; </div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="structec__sii__general__flags__t.html#a0fbce42ba665c440531671f788ca46a0">  170</a></span>&#160;    uint8_t <a class="code" href="structec__sii__general__flags__t.html#a0fbce42ba665c440531671f788ca46a0">enable_not_lrw</a> : 1; </div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;} <a class="code" href="structec__sii__general__flags__t.html">ec_sii_general_flags_t</a>;</div><div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7">  175</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7a25afc86435cb41db03f0a6e95e7b986e">  176</a></span>&#160;    <a class="code" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7a25afc86435cb41db03f0a6e95e7b986e">EC_DC_32</a>, </div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    EC_DC_64 <span class="comment">/*&lt; 64 bit for system time, system time offset and</span></div><div class="line"><a name="l00178"></a><span class="lineno">  178</span>&#160;<span class="comment">               port 0 receive time. */</span></div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;} <a class="code" href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7">ec_slave_dc_range_t</a>;</div><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="structec__sync__signal__t.html">  183</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="structec__sync__signal__t.html#a584e9c4963c35777cfc06838793e20e0">  184</a></span>&#160;    uint32_t <a class="code" href="structec__sync__signal__t.html#a584e9c4963c35777cfc06838793e20e0">cycle_time</a>; </div><div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="structec__sync__signal__t.html#a75c1a27b0421473e05bf737fd0d38368">  185</a></span>&#160;    int32_t <a class="code" href="structec__sync__signal__t.html#a75c1a27b0421473e05bf737fd0d38368">shift_time</a>; </div><div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;} <a class="code" href="structec__sync__signal__t.html">ec_sync_signal_t</a>;</div><div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;<span class="keyword">enum</span> {</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a39b7036e6f688e92bfe62c3301312936">  193</a></span>&#160;    <a class="code" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a39b7036e6f688e92bfe62c3301312936">EC_SDO_ENTRY_ACCESS_PREOP</a>, </div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ad448daffa47d8f17532746cf993924ce">  194</a></span>&#160;    <a class="code" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ad448daffa47d8f17532746cf993924ce">EC_SDO_ENTRY_ACCESS_SAFEOP</a>, </div><div class="line"><a name="l00195"></a><span class="lineno"><a class="line" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ab035d5252d6daaa9bc55538c1a9eaecb">  195</a></span>&#160;    <a class="code" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ab035d5252d6daaa9bc55538c1a9eaecb">EC_SDO_ENTRY_ACCESS_OP</a>, </div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a6cef0b079c10f308702a85dfe6a9c466">  196</a></span>&#160;    <a class="code" href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a6cef0b079c10f308702a85dfe6a9c466">EC_SDO_ENTRY_ACCESS_COUNT</a> </div><div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;};</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343">  201</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343a6cc7c24499003f339df547ab73605f13">  202</a></span>&#160;    <a class="code" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343a6cc7c24499003f339df547ab73605f13">EC_DEVICE_MAIN</a>, </div><div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343ab269739586dbb817c1e0ff42e74c5111">  203</a></span>&#160;    <a class="code" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343ab269739586dbb817c1e0ff42e74c5111">EC_DEVICE_BACKUP</a> </div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;} <a class="code" href="globals_8h.html#ad1a2101422888687598d7e1a630c6343">ec_device_index_t</a>;</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00206"></a><span class="lineno">  206</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="globals_8h.html#ab60dd3400b4ae7f326c3edb327505829">ec_device_names</a>[2]; <span class="comment">// only main and backup!</span></div><div class="line"><a name="l00207"></a><span class="lineno">  207</span>&#160;</div><div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00209"></a><span class="lineno">  209</span>&#160;</div><div class="line"><a name="l00217"></a><span class="lineno"><a class="line" href="globals_8h.html#af96ee5cdd88c3c45a899d15ce40f371c">  217</a></span>&#160;<span class="preprocessor">#define EC_INFO(fmt, args...) \</span></div><div class="line"><a name="l00218"></a><span class="lineno">  218</span>&#160;<span class="preprocessor">    printk(KERN_INFO &quot;EtherCAT: &quot; fmt, ##args)</span></div><div class="line"><a name="l00219"></a><span class="lineno">  219</span>&#160;</div><div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="globals_8h.html#aed23297031f2f23bb5d005bb586790cf">  227</a></span>&#160;<span class="preprocessor">#define EC_ERR(fmt, args...) \</span></div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;<span class="preprocessor">    printk(KERN_ERR &quot;EtherCAT ERROR: &quot; fmt, ##args)</span></div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;</div><div class="line"><a name="l00237"></a><span class="lineno"><a class="line" href="globals_8h.html#a268d5c7947aba061aee9ba26ae5e54cf">  237</a></span>&#160;<span class="preprocessor">#define EC_WARN(fmt, args...) \</span></div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;<span class="preprocessor">    printk(KERN_WARNING &quot;EtherCAT WARNING: &quot; fmt, ##args)</span></div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;</div><div class="line"><a name="l00247"></a><span class="lineno"><a class="line" href="globals_8h.html#af1b60b9f7b88d42c2563c45dbd4ca478">  247</a></span>&#160;<span class="preprocessor">#define EC_DBG(fmt, args...) \</span></div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;<span class="preprocessor">    printk(KERN_DEBUG &quot;EtherCAT DEBUG: &quot; fmt, ##args)</span></div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno"><a class="line" href="globals_8h.html#a13c6887b44e71940bf7c8bdde8075d82">  254</a></span>&#160;<span class="preprocessor">#define EC_ABS(X) ((X) &gt;= 0 ? (X) : -(X))</span></div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;</div><div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160;<span class="keyword">extern</span> <span class="keywordtype">char</span> *<a class="code" href="globals_8h.html#ab5580493c8bf2eaa43174a4fe78abc72">ec_master_version_str</a>;</div><div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;</div><div class="line"><a name="l00260"></a><span class="lineno">  260</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00261"></a><span class="lineno">  261</span>&#160;</div><div class="line"><a name="l00262"></a><span class="lineno">  262</span>&#160;<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="globals_8h.html#a4262f13e24a72428a0760f9e4e910597">ec_master_count</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00263"></a><span class="lineno">  263</span>&#160;<span class="keywordtype">void</span> <a class="code" href="globals_8h.html#af9b1cee5f8eb11448141bd02d52f44ac">ec_print_data</a>(<span class="keyword">const</span> uint8_t *, <span class="keywordtype">size_t</span>);</div><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;<span class="keywordtype">void</span> <a class="code" href="globals_8h.html#a2e3a18636f05dd048ddd4fd455d07983">ec_print_data_diff</a>(<span class="keyword">const</span> uint8_t *, <span class="keyword">const</span> uint8_t *, <span class="keywordtype">size_t</span>);</div><div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;<span class="keywordtype">size_t</span> <a class="code" href="globals_8h.html#a5492e579e30e1bb9351cd601a89e238b">ec_state_string</a>(uint8_t, <span class="keywordtype">char</span> *, uint8_t);</div><div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;ssize_t <a class="code" href="globals_8h.html#a494695f2cebf0403348cb6281e0af0c9">ec_mac_print</a>(<span class="keyword">const</span> uint8_t *, <span class="keywordtype">char</span> *);</div><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;<span class="keywordtype">int</span> <a class="code" href="globals_8h.html#a41d094eb49bc156c06af74b02eb8708d">ec_mac_is_zero</a>(<span class="keyword">const</span> uint8_t *);</div><div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;</div><div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;<a class="code" href="structec__master.html">ec_master_t</a> *<a class="code" href="globals_8h.html#aba359debd8aebe89887ab68f1c831ab5">ecrt_request_master_err</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>);</div><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;</div><div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;</div><div class="line"><a name="l00278"></a><span class="lineno"><a class="line" href="structec__code__msg__t.html">  278</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="structec__code__msg__t.html#a21dd735111c4e487365bf7570fda697d">  279</a></span>&#160;    uint32_t <a class="code" href="structec__code__msg__t.html#a21dd735111c4e487365bf7570fda697d">code</a>; </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="structec__code__msg__t.html#a9b1fef025e25828a20170a275c5976e3">  280</a></span>&#160;    <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structec__code__msg__t.html#a9b1fef025e25828a20170a275c5976e3">message</a>; </div><div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;} <a class="code" href="structec__code__msg__t.html">ec_code_msg_t</a>;</div><div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;</div><div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;</div><div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="globals_8h.html#af8e216ffa0b8f5e3ee20edd4c17d6174">  290</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;    EC_INT_REQUEST_INIT,</div><div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;    EC_INT_REQUEST_QUEUED,</div><div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160;    EC_INT_REQUEST_BUSY,</div><div class="line"><a name="l00294"></a><span class="lineno">  294</span>&#160;    EC_INT_REQUEST_SUCCESS,</div><div class="line"><a name="l00295"></a><span class="lineno">  295</span>&#160;    EC_INT_REQUEST_FAILURE</div><div class="line"><a name="l00296"></a><span class="lineno">  296</span>&#160;} <a class="code" href="globals_8h.html#af8e216ffa0b8f5e3ee20edd4c17d6174">ec_internal_request_state_t</a>;</div><div class="line"><a name="l00297"></a><span class="lineno">  297</span>&#160;</div><div class="line"><a name="l00298"></a><span class="lineno">  298</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;</div><div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;<span class="keyword">extern</span> <span class="keyword">const</span> <a class="code" href="group__ApplicationInterface.html#gae94149f829f04960c62d63764a7779df">ec_request_state_t</a> <a class="code" href="globals_8h.html#a3a9e581016f6c49ce672ccd2784c0b50">ec_request_state_translation_table</a>[];</div><div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;</div><div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;</div><div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249">  306</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00307"></a><span class="lineno"><a class="line" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249ab9bbe16f248855308e1ac168fd00a4a4">  307</a></span>&#160;    <a class="code" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249ab9bbe16f248855308e1ac168fd00a4a4">EC_ORIG_INTERNAL</a>, </div><div class="line"><a name="l00308"></a><span class="lineno"><a class="line" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249a9f7450cec35e7aba63f3de7520f41c4a">  308</a></span>&#160;    <a class="code" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249a9f7450cec35e7aba63f3de7520f41c4a">EC_ORIG_EXTERNAL</a> </div><div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;} <a class="code" href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249">ec_origin_t</a>;</div><div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;</div><div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00312"></a><span class="lineno">  312</span>&#160;</div><div class="line"><a name="l00313"></a><span class="lineno"><a class="line" href="globals_8h.html#a8d9ffff7dbe1babaa4786a63f2860d57">  313</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structec__slave.html">ec_slave</a> <a class="code" href="structec__slave.html">ec_slave_t</a>; </div><div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;<span class="comment">/*****************************************************************************/</span></div><div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;</div><div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;<span class="preprocessor">#endif</span></div><div class="ttc" id="structec__sii__general__flags__t_html"><div class="ttname"><a href="structec__sii__general__flags__t.html">ec_sii_general_flags_t</a></div><div class="ttdoc">Slave information interface general flags. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00168">globals.h:168</a></div></div>
<div class="ttc" id="globals_8h_html_a41d094eb49bc156c06af74b02eb8708d"><div class="ttname"><a href="globals_8h.html#a41d094eb49bc156c06af74b02eb8708d">ec_mac_is_zero</a></div><div class="ttdeci">int ec_mac_is_zero(const uint8_t *)</div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00263">module.c:263</a></div></div>
<div class="ttc" id="globals_8h_html_adf764cbdea00d65edcd07bb9953ad2b7a02785e699946f757c7846b87a9703d4b"><div class="ttname"><a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a02785e699946f757c7846b87a9703d4b">EC_MBOX_FOE</a></div><div class="ttdoc">File-Access over EtherCAT. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00150">globals.h:150</a></div></div>
<div class="ttc" id="globals_8h_html_adf764cbdea00d65edcd07bb9953ad2b7a75ced95568023bf9ad616c8d2b4f3ae2"><div class="ttname"><a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a75ced95568023bf9ad616c8d2b4f3ae2">EC_MBOX_EOE</a></div><div class="ttdoc">Ethernet over EtherCAT. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00148">globals.h:148</a></div></div>
<div class="ttc" id="globals_8h_html_adf764cbdea00d65edcd07bb9953ad2b7a228d7270dad743f55f7d42719e406076"><div class="ttname"><a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7a228d7270dad743f55f7d42719e406076">EC_MBOX_COE</a></div><div class="ttdoc">CANopen over EtherCAT. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00149">globals.h:149</a></div></div>
<div class="ttc" id="globals_8h_html_a2e3a18636f05dd048ddd4fd455d07983"><div class="ttname"><a href="globals_8h.html#a2e3a18636f05dd048ddd4fd455d07983">ec_print_data_diff</a></div><div class="ttdeci">void ec_print_data_diff(const uint8_t *, const uint8_t *, size_t)</div><div class="ttdoc">Outputs frame contents and differences for debugging purposes. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00369">module.c:369</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html_a1bb6f479bf46b3113a181478f8b1fbef"><div class="ttname"><a href="structec__sii__coe__details__t.html#a1bb6f479bf46b3113a181478f8b1fbef">ec_sii_coe_details_t::enable_upload_at_startup</a></div><div class="ttdeci">uint8_t enable_upload_at_startup</div><div class="ttdoc">?. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00162">globals.h:162</a></div></div>
<div class="ttc" id="structec__sync__signal__t_html_a75c1a27b0421473e05bf737fd0d38368"><div class="ttname"><a href="structec__sync__signal__t.html#a75c1a27b0421473e05bf737fd0d38368">ec_sync_signal_t::shift_time</a></div><div class="ttdeci">int32_t shift_time</div><div class="ttdoc">Shift time [ns]. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00185">globals.h:185</a></div></div>
<div class="ttc" id="structec__sii__general__flags__t_html_a0fbce42ba665c440531671f788ca46a0"><div class="ttname"><a href="structec__sii__general__flags__t.html#a0fbce42ba665c440531671f788ca46a0">ec_sii_general_flags_t::enable_not_lrw</a></div><div class="ttdeci">uint8_t enable_not_lrw</div><div class="ttdoc">Slave does not support LRW. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00170">globals.h:170</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0a321dab0f12d522422d158b8cf64351f8"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a321dab0f12d522422d158b8cf64351f8">EC_SLAVE_STATE_OP</a></div><div class="ttdoc">OP (mailbox communication and input/output update) </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00138">globals.h:138</a></div></div>
<div class="ttc" id="globals_8h_html_a5492e579e30e1bb9351cd601a89e238b"><div class="ttname"><a href="globals_8h.html#a5492e579e30e1bb9351cd601a89e238b">ec_state_string</a></div><div class="ttdeci">size_t ec_state_string(uint8_t, char *, uint8_t)</div><div class="ttdoc">Prints slave states in clear text. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00394">module.c:394</a></div></div>
<div class="ttc" id="structec__code__msg__t_html_a21dd735111c4e487365bf7570fda697d"><div class="ttname"><a href="structec__code__msg__t.html#a21dd735111c4e487365bf7570fda697d">ec_code_msg_t::code</a></div><div class="ttdeci">uint32_t code</div><div class="ttdoc">Code. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00279">globals.h:279</a></div></div>
<div class="ttc" id="globals_8h_html_a99fb83031ce9923c84392b4e92f956b5a39b7036e6f688e92bfe62c3301312936"><div class="ttname"><a href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a39b7036e6f688e92bfe62c3301312936">EC_SDO_ENTRY_ACCESS_PREOP</a></div><div class="ttdoc">Access rights in PREOP. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00193">globals.h:193</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html_a13bf2bdd0c2fa9986d8d176f956f50ca"><div class="ttname"><a href="structec__sii__coe__details__t.html#a13bf2bdd0c2fa9986d8d176f956f50ca">ec_sii_coe_details_t::enable_sdo</a></div><div class="ttdeci">uint8_t enable_sdo</div><div class="ttdoc">Enable SDO access. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00158">globals.h:158</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0a071e3e465f3a44800dbca990ce475513"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a071e3e465f3a44800dbca990ce475513">EC_SLAVE_STATE_BOOT</a></div><div class="ttdoc">Bootstrap state (mailbox communication, firmware update) </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00134">globals.h:134</a></div></div>
<div class="ttc" id="structec__sync__signal__t_html_a584e9c4963c35777cfc06838793e20e0"><div class="ttname"><a href="structec__sync__signal__t.html#a584e9c4963c35777cfc06838793e20e0">ec_sync_signal_t::cycle_time</a></div><div class="ttdeci">uint32_t cycle_time</div><div class="ttdoc">Cycle time [ns]. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00184">globals.h:184</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0afa4a479453f36ac36204ece05aeacd82"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0afa4a479453f36ac36204ece05aeacd82">EC_SLAVE_STATE_ACK_ERR</a></div><div class="ttdoc">Acknowledge/Error bit (no actual state) </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00140">globals.h:140</a></div></div>
<div class="ttc" id="globals_8h_html_aba359debd8aebe89887ab68f1c831ab5"><div class="ttname"><a href="globals_8h.html#aba359debd8aebe89887ab68f1c831ab5">ecrt_request_master_err</a></div><div class="ttdeci">ec_master_t * ecrt_request_master_err(unsigned int)</div><div class="ttdoc">Request a master. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00530">module.c:530</a></div></div>
<div class="ttc" id="structec__code__msg__t_html_a9b1fef025e25828a20170a275c5976e3"><div class="ttname"><a href="structec__code__msg__t.html#a9b1fef025e25828a20170a275c5976e3">ec_code_msg_t::message</a></div><div class="ttdeci">const char * message</div><div class="ttdoc">Message belonging to code. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00280">globals.h:280</a></div></div>
<div class="ttc" id="globals_8h_html_ab60dd3400b4ae7f326c3edb327505829"><div class="ttname"><a href="globals_8h.html#ab60dd3400b4ae7f326c3edb327505829">ec_device_names</a></div><div class="ttdeci">const char * ec_device_names[2]</div><div class="ttdoc">Device names. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00458">module.c:458</a></div></div>
<div class="ttc" id="globals_8h_html_adf764cbdea00d65edcd07bb9953ad2b7aa29a7302a657cfa9b046d7f1dd7ceb95"><div class="ttname"><a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7aa29a7302a657cfa9b046d7f1dd7ceb95">EC_MBOX_VOE</a></div><div class="ttdoc">Vendor specific. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00152">globals.h:152</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0a42a5127410509dad07baf40ba938ecf4"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a42a5127410509dad07baf40ba938ecf4">EC_SLAVE_STATE_SAFEOP</a></div><div class="ttdoc">SAFEOP (mailbox communication and input update) </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00136">globals.h:136</a></div></div>
<div class="ttc" id="globals_8h_html_ab62b6e667f97a3b63d18f8077487d249ab9bbe16f248855308e1ac168fd00a4a4"><div class="ttname"><a href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249ab9bbe16f248855308e1ac168fd00a4a4">EC_ORIG_INTERNAL</a></div><div class="ttdoc">Internal. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00307">globals.h:307</a></div></div>
<div class="ttc" id="globals_8h_html_af8e216ffa0b8f5e3ee20edd4c17d6174"><div class="ttname"><a href="globals_8h.html#af8e216ffa0b8f5e3ee20edd4c17d6174">ec_internal_request_state_t</a></div><div class="ttdeci">ec_internal_request_state_t</div><div class="ttdoc">Generic request state. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00290">globals.h:290</a></div></div>
<div class="ttc" id="structec__slave_html"><div class="ttname"><a href="structec__slave.html">ec_slave</a></div><div class="ttdoc">EtherCAT slave. </div><div class="ttdef"><b>Definition:</b> <a href="slave_8h_source.html#l00176">slave.h:176</a></div></div>
<div class="ttc" id="globals_8h_html_a99fb83031ce9923c84392b4e92f956b5ad448daffa47d8f17532746cf993924ce"><div class="ttname"><a href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ad448daffa47d8f17532746cf993924ce">EC_SDO_ENTRY_ACCESS_SAFEOP</a></div><div class="ttdoc">Access rights in SAFEOP. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00194">globals.h:194</a></div></div>
<div class="ttc" id="structec__code__msg__t_html"><div class="ttname"><a href="structec__code__msg__t.html">ec_code_msg_t</a></div><div class="ttdoc">Code/Message pair. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00278">globals.h:278</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html"><div class="ttname"><a href="structec__sii__coe__details__t.html">ec_sii_coe_details_t</a></div><div class="ttdoc">Slave information interface CANopen over EtherCAT details flags. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00157">globals.h:157</a></div></div>
<div class="ttc" id="structec__sii__general__flags__t_html_a06c42cdbd02ae8d4029d72db27a43ade"><div class="ttname"><a href="structec__sii__general__flags__t.html#a06c42cdbd02ae8d4029d72db27a43ade">ec_sii_general_flags_t::enable_safeop</a></div><div class="ttdeci">uint8_t enable_safeop</div><div class="ttdoc">?. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00169">globals.h:169</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html_af90ce21692e401ce0205e4e9f14a9386"><div class="ttname"><a href="structec__sii__coe__details__t.html#af90ce21692e401ce0205e4e9f14a9386">ec_sii_coe_details_t::enable_sdo_info</a></div><div class="ttdeci">uint8_t enable_sdo_info</div><div class="ttdoc">SDO information service available. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00159">globals.h:159</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html_a8b34817a87dbb31e79d076b67ea3d1be"><div class="ttname"><a href="structec__sii__coe__details__t.html#a8b34817a87dbb31e79d076b67ea3d1be">ec_sii_coe_details_t::enable_sdo_complete_access</a></div><div class="ttdeci">uint8_t enable_sdo_complete_access</div><div class="ttdoc">Complete access possible. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00163">globals.h:163</a></div></div>
<div class="ttc" id="globals_8h_html_ad1a2101422888687598d7e1a630c6343"><div class="ttname"><a href="globals_8h.html#ad1a2101422888687598d7e1a630c6343">ec_device_index_t</a></div><div class="ttdeci">ec_device_index_t</div><div class="ttdoc">Master devices. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00201">globals.h:201</a></div></div>
<div class="ttc" id="globals_8h_html_ab62b6e667f97a3b63d18f8077487d249a9f7450cec35e7aba63f3de7520f41c4a"><div class="ttname"><a href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249a9f7450cec35e7aba63f3de7520f41c4a">EC_ORIG_EXTERNAL</a></div><div class="ttdoc">External. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00308">globals.h:308</a></div></div>
<div class="ttc" id="globals_8h_html_ad1a2101422888687598d7e1a630c6343a6cc7c24499003f339df547ab73605f13"><div class="ttname"><a href="globals_8h.html#ad1a2101422888687598d7e1a630c6343a6cc7c24499003f339df547ab73605f13">EC_DEVICE_MAIN</a></div><div class="ttdoc">Main device. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00202">globals.h:202</a></div></div>
<div class="ttc" id="globals_8h_html_a5cbf78c1663f1a9ba4d69b816bcd00f7"><div class="ttname"><a href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7">ec_slave_dc_range_t</a></div><div class="ttdeci">ec_slave_dc_range_t</div><div class="ttdoc">EtherCAT slave distributed clocks range. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00175">globals.h:175</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0">ec_slave_state_t</a></div><div class="ttdeci">ec_slave_state_t</div><div class="ttdoc">State of an EtherCAT slave. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00127">globals.h:127</a></div></div>
<div class="ttc" id="globals_8h_html_a5cbf78c1663f1a9ba4d69b816bcd00f7a25afc86435cb41db03f0a6e95e7b986e"><div class="ttname"><a href="globals_8h.html#a5cbf78c1663f1a9ba4d69b816bcd00f7a25afc86435cb41db03f0a6e95e7b986e">EC_DC_32</a></div><div class="ttdoc">32 bit. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00176">globals.h:176</a></div></div>
<div class="ttc" id="globals_8h_html_af9b1cee5f8eb11448141bd02d52f44ac"><div class="ttname"><a href="globals_8h.html#af9b1cee5f8eb11448141bd02d52f44ac">ec_print_data</a></div><div class="ttdeci">void ec_print_data(const uint8_t *, size_t)</div><div class="ttdoc">Outputs frame contents for debugging purposes. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00341">module.c:341</a></div></div>
<div class="ttc" id="globals_8h_html_ab5580493c8bf2eaa43174a4fe78abc72"><div class="ttname"><a href="globals_8h.html#ab5580493c8bf2eaa43174a4fe78abc72">ec_master_version_str</a></div><div class="ttdeci">char * ec_master_version_str</div><div class="ttdoc">Version string. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00071">module.c:71</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0af8bd16b734a32ab829a51f81620edfff"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0af8bd16b734a32ab829a51f81620edfff">EC_SLAVE_STATE_INIT</a></div><div class="ttdoc">INIT state (no mailbox communication, no IO) </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00130">globals.h:130</a></div></div>
<div class="ttc" id="globals_8h_html_a494695f2cebf0403348cb6281e0af0c9"><div class="ttname"><a href="globals_8h.html#a494695f2cebf0403348cb6281e0af0c9">ec_mac_print</a></div><div class="ttdeci">ssize_t ec_mac_print(const uint8_t *, char *)</div><div class="ttdoc">Print a MAC address to a buffer. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00242">module.c:242</a></div></div>
<div class="ttc" id="globals_8h_html_adf764cbdea00d65edcd07bb9953ad2b7ab5ebd52d91b7f482bde14f6dcac7c7c4"><div class="ttname"><a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7ab5ebd52d91b7f482bde14f6dcac7c7c4">EC_MBOX_SOE</a></div><div class="ttdoc">Servo-Profile over EtherCAT. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00151">globals.h:151</a></div></div>
<div class="ttc" id="structec__sync__signal__t_html"><div class="ttname"><a href="structec__sync__signal__t.html">ec_sync_signal_t</a></div><div class="ttdoc">EtherCAT slave sync signal configuration. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00183">globals.h:183</a></div></div>
<div class="ttc" id="globals_8h_html_a99fb83031ce9923c84392b4e92f956b5ab035d5252d6daaa9bc55538c1a9eaecb"><div class="ttname"><a href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5ab035d5252d6daaa9bc55538c1a9eaecb">EC_SDO_ENTRY_ACCESS_OP</a></div><div class="ttdoc">Access rights in OP. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00195">globals.h:195</a></div></div>
<div class="ttc" id="globals_8h_html_ab62b6e667f97a3b63d18f8077487d249"><div class="ttname"><a href="globals_8h.html#ab62b6e667f97a3b63d18f8077487d249">ec_origin_t</a></div><div class="ttdeci">ec_origin_t</div><div class="ttdoc">Origin type. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00306">globals.h:306</a></div></div>
<div class="ttc" id="globals_8h_html_a4262f13e24a72428a0760f9e4e910597"><div class="ttname"><a href="globals_8h.html#a4262f13e24a72428a0760f9e4e910597">ec_master_count</a></div><div class="ttdeci">unsigned int ec_master_count(void)</div><div class="ttdoc">Get the number of masters. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00204">module.c:204</a></div></div>
<div class="ttc" id="globals_8h_html_adf764cbdea00d65edcd07bb9953ad2b7af55a73bce8de5380f696812292a1ff1b"><div class="ttname"><a href="globals_8h.html#adf764cbdea00d65edcd07bb9953ad2b7af55a73bce8de5380f696812292a1ff1b">EC_MBOX_AOE</a></div><div class="ttdoc">ADS over EtherCAT. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00147">globals.h:147</a></div></div>
<div class="ttc" id="globals_8h_html_a99fb83031ce9923c84392b4e92f956b5a6cef0b079c10f308702a85dfe6a9c466"><div class="ttname"><a href="globals_8h.html#a99fb83031ce9923c84392b4e92f956b5a6cef0b079c10f308702a85dfe6a9c466">EC_SDO_ENTRY_ACCESS_COUNT</a></div><div class="ttdoc">Number of states. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00196">globals.h:196</a></div></div>
<div class="ttc" id="group__ApplicationInterface_html_gae94149f829f04960c62d63764a7779df"><div class="ttname"><a href="group__ApplicationInterface.html#gae94149f829f04960c62d63764a7779df">ec_request_state_t</a></div><div class="ttdeci">ec_request_state_t</div><div class="ttdoc">Request state. </div><div class="ttdef"><b>Definition:</b> <a href="ecrt_8h_source.html#l00517">ecrt.h:517</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0a1db532f4df475e41ee0613551f7bdc0c"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0a1db532f4df475e41ee0613551f7bdc0c">EC_SLAVE_STATE_PREOP</a></div><div class="ttdoc">PREOP state (mailbox communication, no IO) </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00132">globals.h:132</a></div></div>
<div class="ttc" id="globals_8h_html_ad1a2101422888687598d7e1a630c6343ab269739586dbb817c1e0ff42e74c5111"><div class="ttname"><a href="globals_8h.html#ad1a2101422888687598d7e1a630c6343ab269739586dbb817c1e0ff42e74c5111">EC_DEVICE_BACKUP</a></div><div class="ttdoc">Backup device. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00203">globals.h:203</a></div></div>
<div class="ttc" id="globals_8h_html_a3a9e581016f6c49ce672ccd2784c0b50"><div class="ttname"><a href="globals_8h.html#a3a9e581016f6c49ce672ccd2784c0b50">ec_request_state_translation_table</a></div><div class="ttdeci">const ec_request_state_t ec_request_state_translation_table[]</div><div class="ttdoc">Global request state type translation table. </div><div class="ttdef"><b>Definition:</b> <a href="module_8c_source.html#l00651">module.c:651</a></div></div>
<div class="ttc" id="structec__master_html"><div class="ttname"><a href="structec__master.html">ec_master</a></div><div class="ttdoc">EtherCAT master. </div><div class="ttdef"><b>Definition:</b> <a href="master_8h_source.html#l00194">master.h:194</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html_acefe917c36bc9c0fc0ff931fcbabc211"><div class="ttname"><a href="structec__sii__coe__details__t.html#acefe917c36bc9c0fc0ff931fcbabc211">ec_sii_coe_details_t::enable_pdo_configuration</a></div><div class="ttdeci">uint8_t enable_pdo_configuration</div><div class="ttdoc">PDO configuration possible. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00161">globals.h:161</a></div></div>
<div class="ttc" id="globals_8h_html_a0e9c38c7520909d649fac451046dcde0ae9edba07c48fe21c2e3ee549f98a0f59"><div class="ttname"><a href="globals_8h.html#a0e9c38c7520909d649fac451046dcde0ae9edba07c48fe21c2e3ee549f98a0f59">EC_SLAVE_STATE_UNKNOWN</a></div><div class="ttdoc">unknown state </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00128">globals.h:128</a></div></div>
<div class="ttc" id="structec__sii__coe__details__t_html_a30ce481a3965c5bc1737918e3cbe6d63"><div class="ttname"><a href="structec__sii__coe__details__t.html#a30ce481a3965c5bc1737918e3cbe6d63">ec_sii_coe_details_t::enable_pdo_assign</a></div><div class="ttdeci">uint8_t enable_pdo_assign</div><div class="ttdoc">PDO mapping configurable. </div><div class="ttdef"><b>Definition:</b> <a href="globals_8h_source.html#l00160">globals.h:160</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_c1346cf4828efdd0d2baf0d391d01b77.html">master</a></li><li class="navelem"><a class="el" href="globals_8h.html">globals.h</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
